home *** CD-ROM | disk | FTP | other *** search
- ###############################################################################
- ## ##
- ## M M ll tt ii RRRRR ##
- ## MM MM ll tt RR RR ##
- ## MMM MMM uu uu ll ttttt ii RR RR eeee qqqqq ##
- ## MMMMMMM uu uu ll tt ii RRRRR ee ee qq qq ##
- ## MM M MM uu uu ll tt ii RR RR eeeeee qq qq ##
- ## MM MM uu uu ll tt ii RR RR ee qqqqq ##
- ## MM MM uuuuu ll ttt ii RR RR eeee qq ##
- ## qq ##
- ## ##
- ###############################################################################
-
-
- MultiReq v1.20 © 11/1992 by Andreas Krebs (veröffentlicht am 12-Nov-92)
-
-
- Diese Datei enthält eine ausführliche Beschreibung aller Funktionen der
- "multireq.library". Die Funktionen werden in der Reihenfolge ihrer Offsets
- aufgelistet.
- Alle diese Funktionen verändern NUR die Register, die unter Ergebnisse
- aufgelistet aufgelistet sind und eventuel D0 als Rückgaberegister. Alle anderen
- Register werden nicht verändert, auch wenn sie zur Parameterübergabe benützt
- werden.
-
-
-
- multireq.library/StrLen multireq.library/StrLen
-
- NAME
- StrLen -- ermittelt die Länge eines Textstrings
-
- SYNTAX
- length = StrLen( str )
- D0 -30 A0
-
- UWORD StrLen( UBYTE * )
-
- FUNKTION
- Diese Funktion ermittelt die Länge eines Textstrings, wobei die Länge
- ohne das abschließende Nullbyte gezählt wird.
-
- EINGABEN
- str - Zeiger auf einen nullterminierten String
-
- ERGEBNISSE
- length - Länge des Strings in Bytes
- A0 - Adresse des abschließenden Nullbytes
-
- SIEHE AUCH
- StrCpy, StrCmp, StrIns, UpperCase, TestPattern
-
-
-
- multireq.library/StrCpy multireq.library/StrCpy
-
- NAME
- StrCpy -- kopiert den einen Textstring
-
- SYNTAX
- StrCpy( src, dest )
- -36 A0 A1
-
- void StrCpy( UBYTE *, UBYTE * )
-
- FUNKTION
- Diese Funktion kopiert den Textstring src in den Textstring dest, wobei der
- Kopiervorgang beendet wird, wenn das abschließende Nullbyte erreicht ist.
-
- EINGABEN
- src - Zeiger auf den nullterminierten Quellenstring
- dest - Zeiger auf einen Adressbereich für den Zielstring
-
- ERGEBNISSE
- A0 - Adresse des abschließenden Nullbytes des Quellenstrings
- A1 - Adresse des abschließenden Nullbytes des Zielstrings
-
- SIEHE AUCH
- StrLen, StrCmp, StrIns, UpperCase, TestPattern
-
-
-
- multireq.library/StrCmp multireq.library/StrCmp
-
- NAME
- StrCmp -- vergleicht zwei Textstrings
-
- SYNTAX
- dif = StrCmp( str1, str2 )
- D0 -42 A0 A1
-
- WORD StrCmp( UBYTE *, UBYTE * )
-
- FUNKTION
- Diese Funktion vergleicht zwei Textstrings miteinander, wobei nicht zwischen
- Groß- und Kleinschreibung unterschieden ist.
- Wenn dif < 0 ist, ist String str1 "kleiner" als String str2, d.h. der ASCII-
- code von str1 ist niedriger als der von str2.
- Wenn dif = 0 ist, sind str1 und str2 identisch.
- Wenn dif > 0 ist, ist str1 "größer" als str2.
-
- EINGABEN
- str1 - Zeiger auf den ersten nullterminierten String
- str2 - Zeiger auf den zweiten nullterminierten String
-
- ERGEBNISSE
- dif - Unterschied zwischen str1 und str2
- A0 - Adresse des unterschiedlichen Zeichens in str1
- A1 - Adresse des unterschiedlichen Zeichens in str2
-
- SIEHE AUCH
- StrLen, StrCpy, StrIns, UpperCase, TestPattern
-
-
-
- multireq.library/StrIns multireq.library/StrIns
-
- NAME
- StrIns -- fügt einen TextString in einen anderen ein
-
- SYNTAX
- StrIns( src, dest )
- -48 A0 A1
-
- void StrIns( UBYTE *, UBYTE * )
-
- FUNKTION
- Diese Funktion fügt einen Textstring in einen anderen ein, dazu wird zunächst
- der Zielstring dest um StrLen( src ) verschoben und anschließend wird src in
- die entstandene Lücke eingefügt.
-
- EINGABEN
- src - Zeiger auf den einzufügenden String
- dest - Zeiger auf die Position, an der der String eingefügt werden soll
-
- ERGEBNISSE
-
- SIEHE AUCH
- StrLen, StrCpy, StrCmp, UpperCase, TestPattern
-
-
-
- multireq.library/UpperCase multireq.library/UpperCase
-
- NAME
- UpperCase -- wandelt einen Buchstaben in Großbuchstaben um
-
- SYNTAX
- character = Uppercase( character )
- D0 -54 D0
-
- UBYTE UpperCase( UBYTE )
-
- FUNKTION
- Diese Funktion wandelt das angegeben Zeichen in einen Großbuchstaben um,
- sofern es sich um einen Buchstaben handelt. Es werden auch Sonderzeichen wie
- Umlaute berücksichtigt.
-
- EINGABEN
- character - der umzuwandelnte Buchstabe
-
- ERGEBNISSE
- character - der entsprechende Großbuchstabe
-
- SIEHE AUCH
- StrLen, StrCpy, StrCmp, StrIns, TestPattern
-
-
-
- multireq.library/TestPattern multireq.library/TestPattern
-
- NAME
- TestPattern -- überprüft, ob ein String einem bestimmten Muster entspricht
-
- SYNTAX
- result = TestPattern( wild, str )
- D0 -60 A0 A1
-
- BOOL TestPattern( UBYTE *, UBYTE * )
-
- FUNKTION
- Diese Funktion überprüft, ob der Textstring str, dem durch den Musterstring
- wild definierten Muster entspricht, wobei das Zeichen '*' für einen beliebig
- langen Teilstring steht und '|' zwei Muster voneinander trennt.
- Bei der Überprüfung wird nicht zwischen Groß- und Kleinschreibung unter-
- schieden, weshalb z.B. "a*" identisch ist mit "A*".
-
- EINGABEN
- wild - Zeiger auf einen String, der das Muster enthält
- str - Zeiger auf den zu überprüfenden String
-
- ERGEBNISSE
- result - TRUE (1), wenn der String dem Muster entspricht, oder FALSE (0) sonst
-
- BEISPIELE
- TestPattern( "*.c|*.h", str ) - ist str ein C Source- or Include-File ?
- TestPattern( "*.*|*-*", str ) - enthält str ein '.'- oder '-'-Zeichen ?
- TestPattern( "*", str ) - immer TRUE, da jeder String diesem Muster
- entspricht
-
- SIEHE AUCH
- StrLen, StrCpy, StrCmp, StrIns, UpperCase
-
-
-
- multireq.library/DelPort multireq.library/DelPort
-
- NAME
- DelPort -- löscht einen Message Port
-
- SYNTAX
- DelPort( port )
- -66 A1
-
- void DelPort( struct MsgPort * )
-
- FUNKTION
- Diese Funktion löscht einen Message Port, dazu wird dieser aus der Betriebs-
- systemliste der Message Ports entfernt und anschließend wird der belegte
- Speicher wieder freigegeben.
-
- EINGABEN
- port - Zeiger auf die MsgPort-Struktur des Message Ports
-
- ERGEBNISSE
-
- BEMERKUNGEN
- Diese Funktion ist identisch mit der DeletePort-Funktion der Linkerlibrary
- amiga.lib.
-
- SIEHE AUCH
- CrtPort
-
-
-
- multireq.library/CrtPort multireq.library/CrtPort
-
- NAME
- CrtPort -- erzeugt einen Message Port
-
- SYNTAX
- port = CrtPort( name, pri )
- D0 -72 A0 D0
-
- struct MsgPort *CrtPort( UBYTE *, UWORD )
-
- FUNKTION
- Diese Funktion erzeugt einen Message Port mit dem angegebenen Namen und der
- ausgewählten Priorität, wobei der Benötigte Speicher reserviert wird. Wenn der
- Message Port erzeugt ist, wird er automatisch in die Betriebssystemliste der
- Message Ports eingefügt.
-
- EINGABEN
- name - Zeiger auf einen nullterminierten String mit dem Namen des Ports oder
- 0 für keinen Namen
- pri - Priorität, die der Message Port haben soll
-
- ERGEBNISSE
- port - Zeiger auf die MsgPort-Struktur des Message Ports oder 0, wenn ein
- Fehler aufgetretten ist
-
- BEMERKUNGEN
- Diese Funktion ist identisch mit der CreatePort-Funktion der Linkerlibrary
- amiga.lib.
-
- SIEHE AUCH
- DelPort
-
-
-
- multireq.library/GetCurrentPath multireq.library/GetCurrentPath
-
- NAME
- GetCurrentPath -- ermittelt Namen und Pfad des aktuellen Verzeichnisses
-
- SYNTAX
- GetCurrentPath( bufff )
- -78 A0
-
- void GetCurrentPath( UBYTE * )
-
- FUNKTION
- Diese Funktion ermittelt des Namen und den Pfad des aktuellen Verzeichnisses
- und schreibt diesen in den durch buff angegeben Puffer.
-
- EINGABEN
- buff - Zeiger auf einen Puffer in den der Namen eingetragen wird
-
- ERGEBNISSE
-
-
-
- multireq.library/DrawBox multireq.library/DrawBox
-
- NAME
- DrawBox -- malt ein Rechteck mit 3D-Effekt
-
- SYNTAX
- DrawBox( rp, x1, y1, x2, y2, col1, col2 )
- -84 A1 D0 D1 D2 D3 D4 D5
-
- void DrawBox( struct RastPort *, UWORD, UWORD, UWORD, UWORD, UWORD, UWORD )
-
- FUNKTION
- Diese Funktion zeichnet ein Rechteck mit 3D-Effekt in der angegebenen Größe,
- wobei der linke und obene Rand in der Farbe col1 und der rechte und untere
- Rand in der Farbe col2 gezeichnet wird.
-
- EINGABEN
- rp - Zeiger auf den RastPort in dem gezeichnet werden soll
- x1 - x-Position der linken oberen Ecke
- y1 - y-Position der linken oberen Ecke
- x2 - x-Position der rechten unteren Ecke
- y2 - y-Position der rechten unteren Ecke
- col1 - Farbe des linken und oberen Rands
- col2 - Farbe des rechten und unteren Rands
-
- ERGEBNISSE
-
- BEMERKUNGEN
- Es muß unbedingt sichergestellt werden, daß x1<x2 und y1<y2 sind, da es sonst
- zu Abstürzen kommen kann.
-
- SIEHE AUCH
- DrawFilledBox
-
-
-
- multireq.library/DrawFilledBox multireq.library/DrawFilledBox
-
- NAME
- DrawFilledBox -- malt ein gefülltes Rechteck mit 3D-Effekt
-
- SYNTAX
- DrawFilledBox( rp, x1, y1, x2, y2, col1, col2, fillcol )
- -90 A1 D0 D1 D2 D3 D4 D5 D6
-
- void DrawFilledBox( struct RastPort *, UWORD, UWORD, UWORD, UWORD, UWORD,
- UWORD, UWORD )
-
- FUNKTION
- Diese Funktion zeichnet ein gefülltes Rechteck mit 3D-Effekt in der
- angegebenen Größe. Dazu wird zuerst das Innere des Rechtecks in der Farbe
- fillcol gefüllt und anschließend der Rand mit DrawBox gezeichnet.
-
- EINGABEN
- rp - Zeiger auf den RastPort in dem gezeichnet werden soll
- x1 - x-Position der linken oberen Ecke
- y1 - y-Position der linken oberen Ecke
- x2 - x-Position der rechten unteren Ecke
- y2 - y-Position der rechten unteren Ecke
- col1 - Farbe des linken und oberen Rands
- col2 - Farbe des rechten und unteren Rands
- fillcol - Farbe mit der das Innere des Rechtecks gefüllt werden soll
-
- ERGEBNISSE
-
- BEMERKUNGEN
- Es muß unbedingt sichergestellt werden, daß x1<x2 und y1<y2 sind, da es sonst
- zu Abstürzen kommen kann.
-
- SIEHE AUCH
- DrawBox
-
-
-
- multireq.library/DrawTexts multireq.library/DrawTexts
-
- NAME
- DrawTexts -- gibt mehere Text der gleichen Art aus
-
- SYNTAX
- DrawTexts( rp, textlist)
- -96 A1 A0
-
- void DrawTexts( struct RastPort *, struct MRText * )
-
- FUNKTION
- Diese Funktion gibt mehere Texte aus, wobei die Texte von der gleichen Art
- sein müssen, d.h. dieselbe Schriftart, Schriftgröße, Zeichenmodus und
- Hintergrundfarbe haben müssen, die vor dem Zeichnen von Hand gesetzt werden
- muß.
-
- EINGABEN
- rp - Zeiger auf den RastPort in dem gezeichnet werden soll
- textlist - Zeiger auf ein Array mit MRText-Strukturen und einem Eintag mit dem
- Wert -1 als letzten Eintrag
-
- ERGEBNISSE
-
- BEISPIELE
-
- static struct MRText MyTexts[]=
- {
- { 10, 15, 2, 6, (UBYTE *)"Text 1" }, /* x, y, pen, len, text */
- { 10, 30, 1, 6, (UBYTE *)"Text 2" },
- { -1, -1, -1, -1, (UBYTE *)-1 } /* last text */
- };
-
- /* */
- DrawTexts(rp, MyTexts);
- /* */
-
-
-
- multireq.library/DrawWinBorder multireq.library/DrawWinBorder
-
- NAME
- DrawWinBorder -- zeichnet einen 3D-Rand für ein Fenster
-
- SYNTAX
- DrawWinBorder( win, title )
- -102 A0 A1
-
- void DrawWinBorder( struct Window *, UBYTE * )
-
- FUNKTION
- Diese Funktion zeichnet einen 3D-Rand für ein Fenster nach Art der Workbench
- 2.0, wobei der obere Rand breiter ist als die übrigen und den Fenstertitel
- enthält.
- Diese Funktion sollte nur verwendet werden, wenn das Fenster vom Typ
- BORDERLESS ist, da es sonst zu Problemen mit dem "normalen" Rand des Fensters
- kommt.
- Diese Funktion ist vor allem für die Verwendung unter Kickstart 1.3
- vorgesehen. Unter Kickstart 2.0 sollte der normale Rand vorgezogen werden,
- denn dieser bietet mehr Möglichkeiten (z.B. Systemgadgets).
-
- EINGABEN
- win - Zeiger auf das Fenster, dessen Rand gezeichnet werden soll
- title - Zeiger auf einen nullterminierten String mit dem Festertitel
-
- ERGEBNISSE
-
-
-
- multireq.library/DrawGadgetBorder multireq.library/DrawGadgetBorder
-
- NAME
- DrawGadgetBorder -- zeichnet den Rand für die Anzahl der angegeben Fenster
-
- SYNTAX
- DrawGadgetBorder( gadgets, win, numgad )
- -108 A0 A1 D0
-
- void DrawGadgetBorder( struct Gadget *, struct Window *, UWORD )
-
- FUNKTION
- Diese Funktion zeichnet für die angegebene Anzahl von Gadgets einen Rand, der
- mittel des BORDER-Makros (siehe multireq.h) im UserData-Feld der Gadget-
- Struktur definiert wurde.
- Der Aufbau des Makros ist wie folgt:
-
- BORDER( type, col1, col2, fillcol )
-
- type - Art des Randes (siehe multireq.h)
- col1, col2, fillcol - siehe DrawFilledBox
-
- Eine Liste der möglichen Randarten befindet sich in den jeweiligen Include-
- files (multireq.h oder multireq.i).
- Nach dem Zeichen des Randes kann es nötig sein das Gadget zu refreshen (mit
- RefreshGadgets oder RefreshGList), da DrawGadgetBorder keinen Refresh
- durchführt und somit eventuell andere Teile des Gadgets (wie z.B. Texte)
- verdeckt.
-
- EINGABEN
- gadgets - Zeiger auf das erste Gadget einer verketteten Liste
- win - Zeiger auf das Fenster, das das Gadget enthält
- numgad - Anzahl der Gadgets, deren Rand gezeichnet werden soll
-
- ERGEBNISSE
-
-
-
- multireq.library/InitFileReq multireq.library/InitFileReq
-
- NAME
- InitFileReq -- initialisiert eine FileReq-Struktur
-
- SYNTAX
- InitFileReq( fr_ptr, numlist )
- -114 A0 D0
-
- void InitFileReq( struct FileReq **, UWORD )
-
- FUNKTION
- Diese Funktion initialisiert eine FileReq-Struktur, dazu wird zuerst der
- benötige Speicher reserviert und anschließend werden alle benötigten Daten des
- FileRequesters gesetzt. Dannach wird der Zeiger auf die FileReq-Struktur in
- die durch fr_ptr bestimmte Adresse geschrieben.
- Die Option numlist wird in dieser Version nicht verwendet, sollte jedoch immer
- auf 2 gesetzt sein, da sonst bei neueren Versionen der multireq.library
- Probleme auftauchen könnten.
-
- EINGABEN
- fr_ptr - Adresse eines Zeigers auf eine FileReq-Struktur
- numlist - Anzahl der Verzeichnislisten (in dieser Version immer 2)
-
- ERGEBNISSE
-
- SIEHE AUCH
- FreeFileReq, FileRequester
-
-
-
- multireq.library/FreeFileReq multireq.library/FreeFileReq
-
- NAME
- FreeFileReq -- gibt eine zuvor initialisierte FileReq-Struktur wieder frei
-
- SYNTAX
- FreeFileReq( fr_ptr )
- -120 A0
-
- void FreeFileReq( struct FileReq ** )
-
- FUNKTION
- Diese Funktion gibt eine eine durch InitFileReq erzeugt FileReq-Struktur,
- sowie eventuell eingelesene Verzeichnisse wieder frei und löscht anschließend
- den Zeiger auf die Struktur.
- Diese Funktion sollte unbedingt aufgerufen werden, bevor eine Programm beendet
- wird, da sonst der belegte Speicher nicht mehr freigegeben wird.
-
- EINGABEN
- fr_ptr - Adresse eines Zeigers auf eine FileReq-Struktur
-
- ERGEBNISSE
-
- SIEHE AUCH
- InitFileReq, FileRequester
-
-
-
- multireq.library/FileRequester multireq.library/FileRequester
-
- NAME
- FileRequester -- startet den eigentlichen FileRequester
-
- SYNTAX
- status = FileRequester( filereq, screen )
- D0 -126 A0 A1
-
- UWORD FileRequester( struct FileReq *, struct Screen * )
-
- FUNKTION
- Diese Funktion startet den FileRequester auf dem durch screen definierten
- Screen (0 = WorkBench-Screen) und verwendet dazu die in der FileReq-Struktur
- definieren Werte. Bei dem Screen muß es sich um einen Hires-Screen handeln, da
- ein Lores-Screen aufgrund der geringen Breite zu klein für den FileRequester
- ist.
- Der FileRequester ist in dem File "FileReq.dok" ausführlich beschrieben.
- Die Parameter der FileReq-Struktur sind in den Includefiles "multireq.i" und
- "multireq.h" beschreiben.
-
- EINGABEN
- filereq - Zeiger auf eine FileReq-Struktur
- screen - Zeiger auf den Screen auf dem der FileRequester geöffnet werden soll
-
- ERGEBNISSE
- status - Enthält den Zustände mit der FileRequester beendet wurde. Dieser Wert
- ist identisch mit dem ReturnStatus-Eintrag der FileReq-Struktur.
- (Ein Liste der möglichen Zustände befindet sich ebenfalls in den
- Includefiles.)
-
- SIEHE AUCH
- InitFileReq, FreeFileReq
-
-
-
- Wenn Sie Probleme, Anregungen, Verbesserungsvorschläge oder der gleichen haben,
- dann schicken Sie diese bitte an mich:
-
- Andreas Krebs
- Mittelweg 9
- 7110 Öhringen 2
- Germany
-
- Tel.: 07948/2101 (am Wochenende und in den Semesterferien)
- 0721/821356 (sonst)
-
- Oder per Email einfach an folgende Adresse.
-
- Email: s_krebs@iravcl.ira.uka.de
-
-